The present invention relates generally to a user interface for computers. More particularly, the present invention relates to a user interface that allows a user to reference and immediately find a point within an application window.
Increases in processing capability and decreases in the cost of personal computers has led to the proliferation of personal computers in all aspects of society. Personal computers are utilized in schools, homes and in business. Furthermore, with the decreased costs of personal computers, it has become more feasible from a cost perspective to use computers for tasks, and to carry out functions, which were previously done without the use of computers.
With the proliferation of computers throughout numerous aspects of life has come a trend to use graphical user interfaces which make using a computer more intuitive. Examples of such graphical user interfaces include IBM OS/2(copyright), Apple(copyright) Macintosh(copyright), and Microsoft Windows(copyright). These operating systems all rely on a xe2x80x9cwindow likexe2x80x9d workspace called an application window for running applications, displaying operating system information, such as directory information, and organizing program groupings. An application window may be displayed on the screen of a computer display device in what is often referred to as a xe2x80x9cdesktopxe2x80x9d. An application window within a desktop is defined by a border which surrounds the application window and may also include a title bar and in some cases a menu which may manage the appearance and contents of the application window. If the application window is running an application, an electronic document will appear within the application window. The electronic document may be a word processing file, a spreadsheet, an HTML document, a graphics document, a presentation document, or any other document which can be displayed within an application window.
The current display within the application window is called an active screen. The application window displays a portion of the electronic document or the entire electronic document, depending on the size of the electronic document. In a large electronic document only a portion of the electronic document can be viewed in the application window so a scrolling bar area including a scrolling bar is displayed within the application window. The scrolling bar allows the user to scroll through the electronic document to any point within the electronic document. If the electronic document is so large in the vertical direction that the entire electronic document cannot be displayed in the application window, a vertical scroll bar area and a vertical scroll bar appear in the application window allowing the user to scroll in the vertical direction. Similarly, if the electronic document is so large in the horizontal direction that the entire electronic document cannot be displayed in the application window, a horizontal scroll bar area and a horizontal scroll bar appear in the application window allowing the user to scroll in the horizontal direction. A horizontal scroll bar area and a horizontal scroll bar can also appear if the display is magnified or if the electronic document uses larger fonts. Sometimes, the electronic document is large in both the horizontal and vertical directions. In this case, both horizontal and vertical scroll bars are required to navigate to any point within the electronic document.
As a result of large electronic documents, it has become increasingly difficult to effectively track and reference a particular point within an electronic document while scrolling through the remainder of the electronic document. Specifically, this problem is most evident when sequentially viewing or reading a large text document that spans several application windows, while simultaneously scrolling forward and backward to view other selections of the text document and then returning to the original point. In order to scroll through a large electronic document and find a particular point within the large electronic document, a user is required to take a pointing device or a keyboard, select the scroll bar, and xe2x80x9cdragxe2x80x9d the scroll bar to a location on the scroll area which the user thinks roughly corresponds with the particular point which the user is searching for within the large electronic document. The user must actually guess at the approximate location on the scroll area which he thinks corresponds with the particular point the user is searching for. If the user guesses wrong, the user must make another guess until the user actually sees the particular point in the application window. If the user is not searching for just one particular point, but actually a series of points within a large electronic document, the user must repeat this process for each point the user wishes to find. Alternatively, the user can scroll through a large electronic document and find a particular point within the large electronic document by sequentially scrolling forward or backward within the large electronic document until the user finds the particular point which the user is searching for.
Since the user must guess or sequentially scroll through the electronic document each time the user is searching for a particular point, searching for a series of points within an electronic document, or even searching for one point within a large electronic document requires a significant amount of time and patience from the user. This creates a problem since often times users are short on time and patience and need to immediately find a particular point within an electronic document.
It is apparent from conventional user interfaces that there is a need for a user interface that allows the user to reference any point within an electronic document; that allows the user to immediately find a referenced point within an electronic document; that allows the user to reference and immediately find multiple points within an electronic document; and that allows the user to reference any point within an application window.
In view of the above limitations of existing user interfaces, it is an object of the present invention to provide a user interface that allows the user to reference any point within an electronic document.
It is a further object of the present invention to provide a user interface that allows the user to immediately find a referenced point within an electronic document.
It is a further object of the present invention to provide a user interface that allows the user to reference and immediately find multiple points within an electronic document.
It is yet another object of the present invention to provide a user interface that allows the user to reference any point within an application window.
The above and other objects of the present invention are provided by methods, data processing systems or program products which provide a user interface that allows the user to insert reference markers into the application window at specific points or series of points within the application window. The reference markers are transient in nature and are only active while the current application window is open. In one embodiment of this invention, when a reference marker is inserted at a point within the application window, a first representation of the reference marker is displayed at that point and a second representation of the reference marker is displayed in the scroll bar area. The second representation of the reference marker precisely corresponds to the location of the point. By performing a pointing operation on the second representation of the reference marker, the user can cause the first representation of the reference marker along with the point to immediately appear within the application window. This allows the user to immediately find the point at any time while browsing in the application window without having to make a guess as to where the point may be.
Additional reference markers may be inserted at additional points within the application window allowing the user to immediately find and display any point within the application window that the user has referenced with a reference marker.
In another embodiment of this invention, the first representation of the reference marker may be a line. The line would mark the precise horizontal or vertical location of the operating point within the application window. While in this embodiment the reference marker is a line, the reference marker may also be a cross-hair, a box, a circle, or any object which can be displayed within an application window and which can reference the location of a point.
In a further embodiment of this invention, a pointing operation can be performed on the second representation of the reference marker to remove the reference marker from the application window.
The characteristics of the reference marker, such as size, style, position, and color can be changed by the user. In one embodiment of this invention, the user performs a pointing operation on the second representation of the reference marker, and a menu appears allowing the user to change the characteristics of the reference marker.
In yet another preferred embodiment according to this invention, if the electronic document is large in the vertical direction, a horizontal marker may be used to mark the vertical location of a point. Moreover, if the electronic document is large in the horizontal direction, a vertical marker may be used to mark the horizontal location of a point. The vertical marker is especially useful for very wide text documents, spreadsheets, or documents that include tables and/or multiple columns.
In yet another embodiment of this invention, the reference markers may be either static or dynamic in terms of their functionality. A dynamic marker may be inserted by the user at a first location in the active screen. Only a single dynamic marker is used to reference any one point on the active screen. The dynamic marker maintains its relative location within the active screen while scrolling, but can be relocated by simply pointing the mouse to a new location in the active screen and clicking the mouse. When a dynamic marker is inserted at a first location in the active screen, a first representation of the dynamic marker is displayed at that first location and a second representation of the dynamic marker is displayed in a scroll bar located within the scroll bar area. The first representation of the dynamic marker remains in the same location within the active screen. The location of the second representation of the dynamic marker within the scroll bar is proportional to the location of the first representation of the dynamic marker within the active screen.
The main intent of the dynamic marker is to aid the user in maintaining synchronization with the current viewing point in the document while scrolling forward or backward on the active screen or the entire electronic document. This is most often encountered when reaching the bottom of the active screen, paging or scrolling forward, and then returning to the operating point to continue reading the electronic document. In this case the user would just establish the dynamic marker at the operating point before scrolling forward by simply placing and clicking the mouse.
A static marker may be inserted by the user at any operating point within the electronic document and remains fixed at that operating point until it is deleted by the user or the electronic document becomes inactive. The static marker is capable of spanning the entire horizontal or vertical length of the electronic document. The user has the option to insert multiple static markers throughout the entire electronic document.
The intent of the static marker is to provide the user with an easy way to immediately return to any operating point within the electronic document. Static markers may be similar in function to bookmarks and may reference such things as hypertext links, chapter titles, pictures, objects, and critical data. By utilizing both the dynamic marker and static markers, the user can eliminate the need for tedious scrolling sequences.
As will be appreciated by those of skill in this art, the above described aspects of the present invention may also be provided as apparatus or computer program products and is particularly well suited to program tools or applications that launch applications windows for electronic documents.